package com.xy.biz.xd.domain.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

@ApiModel("申请请求")
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class ApplyDocumentFlowNewRequest extends ApplyDocumentFlowNewAndModifyRequest{

    /**
     * 流程文件信息
     */
    @ApiModelProperty("流程文件信息")
    @NotEmpty
    private List<DocumentFlowInfo> documentFlowInfoList;

    @NoArgsConstructor
    @AllArgsConstructor
    @Data
    public static class DocumentFlowInfo {
        /**
         * 文件编号
         */
        @ApiModelProperty("文件编号")
        @NotBlank
        private String documentCode;
        /**
         * 文件名称
         */
        @ApiModelProperty("文件名称")
        @NotBlank
        private String documentName;
        /**
         * 文件版本
         */
        @ApiModelProperty("文件版本")
        @NotBlank
        private String documentVersion;
        /**
         * 来源信息
         */
        @ApiModelProperty("来源信息")
        private String sourceInfo;
        /**
         * 文件等级
         */
        @ApiModelProperty("文件等级")
        @NotBlank
        private Integer documentLevel;
        /**
         * 文件属性
         */
        @ApiModelProperty("文件属性")
        @NotBlank
        private String documentProperty;
    }
}
